package cn.fl.npspl.transform;

import cn.cmm.base.framework.utils.CollectionUtils;
import cn.fl.npspl.vo.SplBizApplyDtlVO;
import fl.spl.facade.npspl.dto.SplBizApplyDtlDTO;

import java.util.ArrayList;
import java.util.List;


/**
 * @Description: 经销商业务申请详细 转换器
 * @Description: VO是客户端传递数据到服务端进行转换的数据
 * @Description: VO转换数据变成DTO传递到服务端
 * @Description: VO不能在服务端出现
 */
public class SplBizApplyDtlVOTransform {


    /**
     * DTO 转  VO
     *
     * @param dto SplBizApplyDtlDTO
     * @return SplBizApplyDtlVO
     */
    public static SplBizApplyDtlVO toVO(SplBizApplyDtlDTO dto) {
        SplBizApplyDtlVO vo = null;
        if (dto != null) {
            vo = new SplBizApplyDtlVO();
            vo.setId(dto.getId());
            vo.setApplyMId(dto.getApplyMId());//业务申请主表ID
            vo.setSplId(dto.getSplId());//经销商ID
            vo.setSplNm(dto.getSplNm());//经销商NM
            vo.setAudStsCd(dto.getAudStsCd());//业务申请审核状态
            vo.setPInstId(dto.getPInstId());//流程实例ID
            vo.setPNo(dto.getPNo());//流程号
            vo.setFlowCrtUsrId(dto.getFlowCrtUsrId());//流程发起人ID
            vo.setFlowCrtUsrNm(dto.getFlowCrtUsrNm());//流程发起人NM
            vo.setStartDt(dto.getStartDt());//业务开始日期
            vo.setDeadlineDt(dto.getDeadlineDt());//业务有效期
            vo.setSysCd(dto.getSysCd());//业务系统CODE
            vo.setBuOrgCd(dto.getBuOrgCd());//业务所属事业部
            vo.setIsValid(dto.getIsValid());//是否有效
            vo.setIsDel(dto.getIsDel());//是否删除
            vo.setIsNew(dto.getIsNew());//是否最新(0:否，1：是，2：中间状态)

            vo.setCrtTm(dto.getCrtTm());//创建时间
            vo.setCrtUsrId(dto.getCrtUsrId());//创建人
            vo.setMdfTm(dto.getMdfTm());//修改时间
            vo.setMdfUsrId(dto.getMdfUsrId());//修改人
        }
        return vo;
    }

    /**
     * VO 转 DTO
     *
     * @param vo SplBizApplyDtlVO
     * @return SplBizApplyDtlDTO
     */
    public static SplBizApplyDtlDTO toDTO(SplBizApplyDtlVO vo) {
        SplBizApplyDtlDTO dto = null;
        if (vo != null) {
            dto = new SplBizApplyDtlDTO();
            dto.setId(vo.getId());
            dto.setApplyMId(vo.getApplyMId());//业务申请主表ID
            dto.setSplId(vo.getSplId());//经销商ID
            dto.setSplNm(vo.getSplNm());//经销商NM
            dto.setAudStsCd(vo.getAudStsCd());//业务申请审核状态
            dto.setPInstId(vo.getPInstId());//流程实例ID
            dto.setPNo(vo.getPNo());//流程号
            dto.setFlowCrtUsrId(vo.getFlowCrtUsrId());//流程发起人ID
            dto.setFlowCrtUsrNm(vo.getFlowCrtUsrNm());//流程发起人NM
            dto.setStartDt(vo.getStartDt());//业务开始日期
            dto.setDeadlineDt(vo.getDeadlineDt());//业务有效期
            dto.setSysCd(vo.getSysCd());//业务系统CODE
            dto.setBuOrgCd(vo.getBuOrgCd());//业务所属事业部
            dto.setIsValid(vo.getIsValid());//是否有效
            dto.setIsDel(vo.getIsDel());//是否删除
            dto.setIsNew(vo.getIsNew());//是否最新(0:否，1：是，2：中间状态)

            dto.setCrtTm(vo.getCrtTm());//创建时间
            dto.setCrtUsrId(vo.getCrtUsrId());//创建人
            dto.setMdfTm(vo.getMdfTm());//修改时间
            dto.setMdfUsrId(vo.getMdfUsrId());//修改人
        }
        return dto;
    }

    /**
     * DTO集合 转 VO集合
     *
     * @param list List<SplBizApplyDtlDTO>
     * @return List<SplBizApplyDtlVO>
     */
    public static List<SplBizApplyDtlVO> toVOList(List<SplBizApplyDtlDTO> list) {
        List<SplBizApplyDtlVO> voList = new ArrayList<SplBizApplyDtlVO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplBizApplyDtlDTO dto : list) {
                voList.add(toVO(dto));
            }
        }
        return voList;
    }

    /**
     * VO集合 转 DTO集合
     *
     * @param list List<SplBizApplyDtlVO>
     * @return List<SplBizApplyDtlDTO>
     */
    public static List<SplBizApplyDtlDTO> toDTOList(List<SplBizApplyDtlVO> list) {
        List<SplBizApplyDtlDTO> dtoList = new ArrayList<SplBizApplyDtlDTO>();
        if (CollectionUtils.isNotEmpty(list)) {
            for (SplBizApplyDtlVO vo : list) {
                dtoList.add(toDTO(vo));
            }
        }
        return dtoList;
    }
}
